Computerized system and method for generating and updating a map user interface

ABSTRACT

Apparatus, interfaces, and computer instructions are provided for establishing an association between a user and a declared interest, such as a brand or some other subject, and for generating a map to display the interests of one or more users. An association is established between an interest identifier, a user, and target object selected based upon an action of the user. The target object may include a location that may be specified by coordinates. The action may include selection of the at least one location by the user. Selection may include selecting a user interface feature that causes the at least one location to be selected based upon a geographical position of the user. The position may be determined by a Global Positioning System device carried by the user. Techniques are also disclosed for identifying people who are potentially interested in a given interest, or in a second interest related to a first interest, based on previously established interest-location-user associations.

CROSS REFERENCE TO RELATED APPLICATION

This present application is a continuation of, and claims priority fromU.S. patent application Ser. No. 11/969,815, filed Jan. 4, 2008, whichis related to U.S. patent application Ser. No. 11/966,972, filed on Dec.28, 2007, which are both hereby incorporated by reference herein intheir entirety.

BACKGROUND 1. Field

The present application relates generally to collection and processingof information about preferences, interests, and locations ofparticipating users, and more specifically to collection and processingof information about user interest in particular interests, such asbrands or other subjects, at particular locations and/or particulartimes.

2. Related Art

Association of consumer products, such as automobiles with users of websites, and display of such associations, e.g., as part of a list in auser's online profile, is known in the art. Social networking web sitessuch as Facebook® and MySpace® allow a user to create an online identitythat includes a user profile, and associate institutional affiliationsand interests with the profile. A user may refer to a real-world objectin their profile to indicate that they endorse, use, want, or own thatobject. The social networking sites allow multiple users to share theironline identities, search for users based on interest, affiliation, andany other information stored in the identity, associate with otherusers, e.g., by joining a group related to a common interest, andcommunicate with each other by sending private messages and postingpublic messages. A user's affiliations and interests will then bedisplayed in association with the user, e.g., on the user's informationpage, or with messages the user posts. The user thereby shares his orher interests with other users, who may learn about the user's interestsfrom the web site. Advertisers may then direct advertisements toparticular users based on the users' interests and affiliations.

SUMMARY

In one example, computer software and/or hardware is provided forallowing people who are interested (or not interested) in particularbrands, such as Apple® or BMW®, to express their interest in, i.e.,opinion of, those brands by creating associations between particularbrands and geographic locations. The system creates an associationbetween the brand, the location, and the user. The association indicatesthat the user is interested in the brand, and that the user considersthe brand to be related to a particular location. The number of userswho have created the association between the brand and location may beused to identify locations that are related to the brand, and toidentify opportunities for marketing and advertising the brand. Userinterfaces are provided to allow a user to create the brand-locationassociation by, for example, pressing a button on a mobile device whenthe user is at the location to be associated with the brand. Thelocation of the user may be automatically determined from a GlobalPositioning System (GPS) unit in the user's device (or other locationtechnology).

In general, in a first aspect, the invention features acomputer-readable medium comprising instructions for establishing anassociation between a user and at least one interest. The instructionsare for receiving at least one declared interest associated with theuser, receiving a target object selected based upon an action of theuser, and establishing an association between the at least one declaredinterest, the target object, and the user.

Embodiments of the invention may include one or more of the followingfeatures. The at least one declared interest may include a person, aplace, a thing, a brand, or a combination of those. The at least onedeclared interest may refer to a subject of interest to the user, andthe at least one declared interest may include a name, a numericidentifier, or a combination thereof. The target object may include atleast one location. The location may be specified by absolutecoordinates, relative coordinates, name, or a combination thereof. Theaction may include selection of the at least one location by the user.Selection may include selecting a user interface feature that causes theat least one location to be selected based upon a geographical positionof the user. The geographical position may be determined by a GlobalPositioning System device carried by the user. Selection may includereceiving the at least one location in a user interface of a device.Selection may include receiving selection of the at least one locationfrom a map displayed on the device.

Selection may include presence of the user within a threshold distanceof the at least one location, wherein presence of the user within athreshold distance is determined based upon geographical coordinatesprovided by a GPS device associated with the user. The target object mayinclude a physical object, an event, or a combination thereof. Thetarget object may be identified by an electronic tracking deviceassociated with the target object. The electronic tracking device mayinclude an RFID tag. The target object may include a name, anidentifier, or a combination of those. The at least one declaredinterest nay be selected by the user. Receiving the at least onedeclared interest may include retrieving the at least one declaredinterest from a profile associated with the user. The instructions mayfurther be for receiving an affinity of the user for at least oneinterest identified by the at least one declared interest, wherein theaffinity indicates whether the user likes the at least one interest.

The instructions may further be for receiving a time specifier selectedbased upon an action of the user, and associating the time specifierwith the at least one declared interest, the target object, and theuser. The time specifier may include an absolute time, a relative time,a range of time, or a combination thereof. Establishing an associationbetween the at least one declared interest, the target object, and theuser may include storing the association in a interest profileassociated with the user.

In general, in a second aspect, the invention features acomputer-readable medium comprising instructions for generating a map todisplay the interests of a user. The instructions are for receiving anassociation between the user, at least one declared interest, and atarget object, causing display of a map of a geographical area thatincludes the target object, and causing display of an image superimposedon the map, wherein the image is located at a displayed position on themap, the displayed position is based upon the object, and the visualappearance of the image is based upon the at least one declaredinterest.

Embodiments of the invention may include one or more of the followingfeatures. The at least one declared interest may include a person, aplace, a thing, or a combination thereof. The at least one declaredinterest may include a brand. Causing display of the image may be inresponse to the declared interest satisfying a filter, wherein thefilter specifies at least one displayable interest, at least onedisplayable attention level, at least on displayable tag, or acombination thereof. The target object may include a location, and thedisplayed position may be based upon geographical coordinates of thelocation. Causing display of the interest-specific image may be inresponse to a display time associated with the map corresponding to aneffective time associated with the at least one declared interest.

In general, in a third aspect, the invention features acomputer-readable medium may include instructions for identifying a userwho has potential interest in a interest. The instructions are forselecting a previously-generated user-interest association thatassociates the interest with a target object and an associated user; andselecting a user in response to the existence of an association betweenthe selected user and the target object. Embodiments of the inventionmay include one or more of the following features. The target object mayinclude a location, and the displayed position is based upongeographical coordinates of the location.

In general, in a fourth aspect, the invention features acomputer-readable medium comprising instructions for identifying asecond user who has a potential interest in a topic. The instructionsare for selecting a first previously-generated user-interest associationthat associates a interest with a location and with a first user,wherein the interest is related to the topic, and selecting a seconduser in response to identifying an association between the second userand the location. Embodiments of the invention may include one or moreof the following features. Identifying an association may includedetecting presence of the second user within a threshold distance of thelocation, detecting a reference to the location by the second user, or acombination thereof. Detecting a reference to the location may includedetecting a query for information about the second location.

In general, in a fifth aspect, the invention features an interface forestablishing an association between a user and at least one interest.The interface includes a component for receiving at least one declaredinterest associated with the user, a component for receiving a targetobject selected based upon an action of the user, and a component forcausing an association to be established between the at least onedeclared interest, the target object, and the user.

Embodiments of the invention may include one or more of the followingfeatures. The target object may include at least one location. 30. Theaction may include selection of the location by the user. Selection maycomprise selecting a user interface feature that causes the location tobe selected based upon a geographical position of the user, and thegeographical position is determined by a Global Positioning Systemdevice carried by the user. The interface may further include acomponent for receiving a time specifier selected based upon an actionof the user, and a component for causing association of the timespecifier with the at least one declared interest, the target object,and the user.

In general, in a sixth aspect, the invention features an interface forgenerating a map to display the interest preferences of a user. Theinterface includes a component for receiving an association between theuser, at least one declared interest, and a target object, a componentfor causing display of a map of a geographical area that includes thetarget object, and a component for causing display of ainterest-specific image superimposed on the map, wherein theinterest-specific image is located at a displayed position on the map,the displayed position is based upon the object, and the visualappearance of the interest-specific image is based upon the at least onedeclared interest. Embodiments of the invention may include one or moreof the following features. The target object may include a geographicallocation, and the displayed position may be based upon geographicalcoordinates of the geographical location.

In general, in a seventh aspect, the invention features an apparatus forestablishing an association between a user and at least one interest.The apparatus includes logic for receiving at least one declaredinterest associated with the user, logic for receiving a target objectselected based upon an action of the user, and logic for establishing anassociation between the at least one declared interest, the targetobject, and the user.

Embodiments of the invention may include one or more of the followingfeatures. The target object may include at least one location. Theaction may comprises selection of the at least one location by the user.Selection may include selecting a user interface feature that causes thelocation to be selected based upon a geographical position of the user.The apparatus may further include logic for receiving a time specifierselected based upon an action of the user, and logic for associating thetime specifier with the at least one declared interest, the targetobject, and the user.

In general, in an eighth aspect, the invention features acomputer-enabled method of establishing an association between a userand at least one interest. The method includes receiving at least onedeclared interest associated with the user, receiving a target objectselected based upon an action of the user, and establishing anassociation between the at least one declared interest, the targetobject, and the user. Embodiments of the invention may include one ormore of the following features. The target object may include at leastone location.

In general, in a ninth aspect, the invention features a computer-enabledmethod of generating a map to display the interest preferences of auser. The method includes receiving an association between the user, atleast one declared interest, and a target object, causing display of amap of a geographical area that includes the target object, and causingdisplay of a interest-specific image superimposed on the map, whereinthe interest-specific image is located at a displayed position on themap, the displayed position is based upon the object, and the visualappearance of the interest-specific image is based upon the at least oneinterest identifier. Embodiments of the invention may include one ormore of the following features. The target object may include alocation, and the displayed position is based upon geographicalcoordinates of the location.

BRIEF DESCRIPTION OF THE DRAWINGS

The present application can be best understood by reference to thefollowing description taken in conjunction with the accompanying drawingfigures, in which like parts may be referred to by like numerals:

FIG. 1 illustrates a server-based interest mapping system in accordancewith embodiments on the invention.

FIG. 2 illustrates an interest mapping system in which server logic isdistributed across multiple server computers in accordance withembodiments of the invention.

FIG. 3 illustrates operations in an interest mapping system inaccordance with embodiments of the invention.

FIG. 4 illustrates an interface for displaying interest informationproduced by a search in accordance with embodiments of the invention.

FIG. 5 illustrates an interface for displaying a user's interest map inaccordance with embodiments of the invention.

FIG. 6 illustrates user interfaces for displaying interest-relatedcontent in accordance with embodiments of the invention.

FIG. 7 illustrates user interfaces for displaying an interest map for aroute in accordance with embodiments of the invention.

FIGS. 8A-8B illustrate user interfaces for establishinguser-location-interest associations in accordance with embodiments ofthe invention.

FIGS. 9A and-9B illustrate user interfaces for presenting matchinginterests in accordance with embodiments of the invention.

FIG. 10 illustrates an advertisement that is selected based on relevanceof the advertisement to the user's declared interests in accordance withembodiments of the invention.

FIG. 11 illustrates a typical computing system that may be employed toimplement processing functionality in embodiments of the invention.

DETAILED DESCRIPTION

The following description is presented to enable a person of ordinaryskill in the art to make and use the invention, and is provided in thecontext of particular applications and their requirements. Variousmodifications to the embodiments will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other embodiments and applications without departing from thespirit and scope of the invention. Moreover, in the followingdescription, numerous details are set forth for the purpose ofexplanation. However, one of ordinary skill in the art will realize thatthe invention might be practiced without the use of these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order not to obscure the description of theinvention with unnecessary detail. Thus, the present invention is notintended to be limited to the embodiments shown, but is to be accordedthe widest scope consistent with the principles and features disclosedherein.

FIG. 1 illustrates a server-based interest mapping system in accordancewith embodiments on the invention. In one example, a server 102provides, e.g., executes or makes available for execution, interestmapping logic 104. The interest mapping logic 104 associates users 108with target objects 112 and interests 116 in response to requestsreceived from a client device 140, e.g., a mobile phone, portablecomputer, or other computing device, via the network 132. The requestsmay be generated by a web browser 130 in response to input received froma user 162 via an input device 158. The interests 116 are subjects ofinterest to the associated users 108. In one example, the interests 116are brands, e.g., brand names of products, services, or companies.Example brands include Apple®, BMW®, and the like. The interests 116 mayinclude any person, place, or thing that a user identifies as aninterest. An interest identified by a user is referred to herein as a“declared interest”. The unqualified term “interest” is used herein torefer to any type of interest, including interests that are declared byusers, and interests that are inferred or otherwise determined forusers. Examples of interests include sports players, actors, musicians,cities, tourist destinations, roads, brands, hobbies, activities,events, movies, products, services, and the like.

The interest mapping logic 104 includes objects 106, which include theusers 108, the target objects 112, the interests 116, maps 110, andtimes 114. The objects 106 may be computer program code and/or datarepresented in a computer. Therefore, the users 108, target objects 112,interests 116, maps 110, and times 114 are computer-basedrepresentations of respective real-world (or virtual world) users, maplocations, interests, maps, and times, respectively.

Although the interest mapping logic 104 is shown as a single componenton the server computer 102 in this example, in other examples, some orall components of the interest mapping logic 104 may be located onseparate computers, such as the client device 140 or other servers, andthe components may communicate with each other through the network 162using, for example remote procedure calls (RPC).

The objects 106 may represent entities in the real world or in asimulated virtual world. In one example, the objects 106 are based uponinformation received from the user 162, from a database 160, fromanother server computer, such as a map data server, or a combination ofthose. The objects 106 include user(s) 108, map(s) 110, map location(s)112, time(s) 114, and interest(s) 116. Each of the objects 106 may beidentified by a corresponding identifier, which may be, for example, anumeric or textual value. Each of the users 108 may be identified by auser identifier, such as a user name or user number. Each of theinterests 116 may be identified by an interest identifier, such as aname of the interest or a number that corresponds to the interest. Theinterest mapping logic 104 may establish an association 107 between aparticular user 108, one or more map locations 112 (or other targetobjects 112, such as physical objects that remain stationary or move),and one or more interests 110 to indicate a relation between that user,location(s), and interest(s). The target objects 112 represent objectsin the real world (or in a virtual world), such as locations or thingsthat may be fixed in space, or that may move over time. The association107 may further include or be associated with one or more time(s) 114 atwhich the association is effective, to indicate that the relation iseffective at or during that time. In one example, an interest map isassociated with a display time, which may be, for example a time atwhich the map is displayed, or a time associated with the map (e.g.,night time or day time). Information about the interest, e.g., theinterest's symbol, will then be displayed on the map only if the displaytime corresponds to an effective time associated with the association(or interest). A display time corresponds to an effective time if thedisplay time is equal to the effective time, is within a predeterminedrange of the effective time, or is within a range specified by theeffective time.

The dashed line around the time(s) 114 indicates that the time(s) 114 isan optional part of the association 107. Multiple users may beassociated with each location, interest and/or time, although theexamples herein focus on a single user for clarity of explanation. Theuser(s) 108 may be omitted from the association 107, for example, if theassociation is created by an anonymous user, or if the association iscreated without reference to a user (e.g., by an automated system suchas a rule engine).

In one example, the user(s) 108 represent human users of the interestmapping logic 104. The maps 110 represent geographical regions andassociated features, such as roads, buildings, and so on. In oneexample, the target objects 112 represent specific places or points inspace, and may be, for example, geographic coordinates, such as alatitude, longitude pair, or a path or region defined by a list oflatitude, longitude pairs. That is, the target objects 112 specify thepositions of physical locations on the maps 110. In other examples, thetarget objects 112 may represent any object, i.e., a “target object”,which may or may not be a physical object. In other examples, the targetobject may be an event that may or may not be associated with a physicallocation. The term “map location” is used herein as an example, and“target object” may be substituted for “map location”. The map 110 maybe rendered graphically on the client display 156, and the targetobjects 112 may be rendered on the map 110, e.g., as icons or asdisplayed features with associated symbols or text. The times 114represent time values, e.g., hours, minutes, and seconds, or secondssince an epoch date, which may be associated with the target objects112. The times 114 may include absolute or relative time values,periodic time values, e.g., every day at 6:00 PM, ranges of time, e.g.,1:00 PM to 2:00 PM, or a combination of those.

The interest(s) 116 may be, for example, numeric or string identifiersthat refer to subjects of interest. For example, the interest 116 may bea name of a commercial brand, e.g., a name of a person, place, thing,company, product, or product line, or any other name that represents anentity, such as a trade name or trademark. Examples of brands includeCoca-Cola®, Apple®, BMW®, and the like. The interest 116 may be atrademark, e.g., a name, or symbol, or a combination of those thatindicates the source of goods or services. In another example, theinterest may be a name and/or symbol of a person or other entity.

As introduced above, the interest mapping logic 104 may establish anassociation 107 between a particular user 108, map location 112, andinterest 116 to indicate a relation between that user, location, andinterest. The association 107 may further include or be associated witha time at which the association 107 is effective, to indicate a time ator during which the relation is effective. In one example, theassociation 107 is created in response to receipt of at least a maplocation and/or interest by the interest mapping logic 104. The maplocation and/or interest may be received by the server computer 102 fromthe client device 140 or similar device in communication with the servercomputer 102 via the network 132. The client device 140 collectsinformation such as the map location, the interest, the user, and thetime, and sends the information that it collects to the interest mappinglogic 104 via the network 132. In one example, a user presses a buttonon the client device to cause the user's present location to beassociated with a particular interest and with the user. This example isa form of active collection, in which the user issues a command tocreate the association 107, or otherwise explicitly causes theassociation 107 to be created. A specific interest may be selected bythe user, e.g., by pressing a button that corresponds to the interest,such as an Apple® button that causes the user's current location to beassociated with the Apple® brand. In another example, the client device140 automatically sends the user's location to the server computer 102as the location changes and/or at periodic intervals. This automaticmarking is a passive collection mode that may be chosen by a user if,for example, the user wishes to create a trail of locations visitedwithout explicitly issuing commands to create the associations 107. Inone example, the user's current location is determined based uponcoordinates provided by a GPS receiver 170 associated with the clientdevice 140 carried by the user. The coordinates are sent via the network132 to the server computer via the network 132. Location acquisitionlogic 124 located on the server 102 receives the location and creates orupdates a corresponding map location object 112.

The interest mapping logic 104 may receive an affinity value associatedwith the interest 116. The affinity value may be positive, whichindicates that the user likes the interest, or negative, which indicatesthat the user does not like the interest. In another example, theaffinity value may be a positive number to indicate a degree to whichthe user likes the interest on a numeric scale, or a negative number toindicate a degree to which the user dislikes the interest on the numericscale.

As an example, the beer company Samuel Adams® may sponsor a contest inwhich users are asked to find the places in Boston that are most likeSamuel Adams® or represent Samuel Adams®. A user enters the contest andprovides a list of locations that the user visits in a pre-game ritualprior to a Boston Red Sox™ baseball game. The user has thereforeindicated that he or she thinks the locations in the list are likeSamuel Adams®. The interest mapping logic 104 then creates anassociation 107 between the user, the location, and the interests BostonRed Sox™ and Samuel Adams® for each entry in the user's list oflocations. For example, if the user's list includes Fenway Park, anassociation is created between the user, the location of Fenway Park,the Boston Red Sox, and Samuel Adams®. Associations 107 may be createdin this way by receiving locations and interests from multiple users.The locations most strongly associated with particular interests maythen be determined based on the relative number of associations 107 foreach location. Knowledge of locations and/or interests with largenumbers of associations 107 is likely to be of interest to the owners ofthe interests and related interests, and to advertisers.

An interest map may be generated showing the locations provided by theuser. The interest map may be, for example, a map of Boston showing aBoston Red Sox™ symbol and a Samuel Adams® symbol at each location inthe user's list of locations. The associations 107 may be used forpurposes other than generating maps. For example, if the interest is theSamuel Adams® brand, a list of locations that are associated with theSamuel Adams® brand may be generated by selecting the locationsassociated with Samuel Adams®.

As another example, a user may be driving their car on a stretch of ascenic highway, e.g., Highway 1, and may think that the road is veryenjoyable. The user may further think that the road would be of interestto other drivers, particularly to drivers of the brand of car driven bythe user. For example, the user may be driving a BMW® automobile and maywish to mark the road as an excellent BMW® driver's road. The user thenpresses a button on the client device 140 to create theinterest-location association 107. The interface may be simple,involving only a button press, or may be more complex, involvingcollection of specific information from the user. In the simple case,one button may be provided, where pressing the button causes the user'sidentity (if available) and present location, retrieved from a GPSreceiver 170, to be transmitted to the interest mapping logic 104. Theinterest mapping logic 104 may infer that the interest the BMW® brand bydeducing that the user is driving on a road, based upon the user'slocation and/or velocity as provided by a stream of GPS coordinates. Theinterest mapping logic 104 may then consult the interest profile 109 todetermine the type of car the user drives, and associate that brand withthe user and the location. The interest profile 109 may be referred toas a brand profile in cases such as this example, where the interest isa brand. In a more complex example, the user may indicate that the startof the road marks the beginning of a path to be associated with the userand the BMW® brand. A user interface 144 displayed on the client device140 may provide options for marking the start and end of a path. Whenthe user reaches the end of the exciting portion of the road, the usermay indicate that the end of the path has been reached. The path, i.e.,route, would then be associated with the user and the brand. In anotherexample with a more complex user interface, the user provides the brandas well as the location, e.g., by selecting the brand from a list ofbrands, entering the brand name, or selecting a button that correspondsto the brand. Once the association 107 between the brand and thelocation is known, inferences can be made. For example, the route isknown to be liked by BMW® drivers, and furthermore, the route may be ofinterest to drivers of other brands of cars, and particularly to carenthusiasts. Although the person who created the association 107 has notindicated that they are a car enthusiast, they may be, because theycreated the association 107 between the car brand and the route. Thefact that a location is associated with a brand can be monetized, e.g.,suggested and/or sold to interested parties such as the brand's ownerand/or the brand's competitors, because the owner and/or competitors mayfind that fact to be valuable for advertising or marketing purposes. Theassociations 107 between users 108, locations 112, and interests 114,and the information in the users' interest profiles 109, may be used tomake suggestions to users about other locations or interests that mayappeal to the users, or other users that may share common interests.These associations 107 may also be used to generate suggestions forbrand owners, competitors, and potential advertisers, particularly whena substantial number of associations 107 have been received (e.g., 100associations or more for the same brands and/or locations). In oneexample, these suggestions are generated by suggestion logic 117 basedon the objects 106 and the associations 107 between the objects 106 ofFIG. 1.

The suggestion logic 117 may generate suggestions, which may be textualmessages for viewing by users, or objects with defined elements, for useby data processing or data mining systems. In one example, thesuggestion logic 117 operates according to a set of rules for generatingsuggestions if certain conditions are true. Optionally, the suggestionlogic 117 may include an inference engine 121, which may use rules tomake suggestions as known to those skilled in the art. The rules used bythe suggestion logic 117 may be based on one or more of the followinglogical statements. If a user is associated with a declared interest anda location, then when a second user is in the location, the second usermay also be interested in the declared interest. That is, a second usermay be identified by identifying a previously-generated association thatassociates the declared interest with a location and an associated user,and selecting a second user as the potentially interested user if thereis an association between the second user and the location.

Interests may be related to other interests, and the degree of relationmay be quantified by a numeric value. The relation may be any type ofrelation between two objects that can be expressed as a Boolean value(related or not related) or a numeric value that indicates the strengthof the relation. The type of relation may depend on a type or categoryof the interests being compared. For example, for places, the relationmay be a distance relation, and closer geographic locations are morestrongly related than locations that are farther apart. For things, therelation may be determined by a table of similar things or topics, or bywords that often appear together in sentences or in dictionarydefinitions. For example, the object “car” may be strongly related tothe object “driving” because a predefined table indicates that “car” isrelated to “driving”, or because the term “car” is found in thedefinition of “driving”, or the terms “car” and “driving” are known tooften appear together in sentences. For people, the relation may bequantified by the distance between two people in a social network graph,so that, for example, two people that know each other directly arestrongly related, while two people that do not know each other directlybut both know a common person are not as strongly related. In oneexample, the strength of a relation between two interests may also bequantified based on the number of users who are associated with bothinterests. Two objects may be considered related if the strength of therelation is greater than a defined threshold value.

In one example, if a declared interest, such as “driving”, is related toanother declared interest, e.g., cars, then if a second user is in alocation associated with the declared interest, the second user may beinterested in the second interest. That is, the second user may beidentified by selecting a first previously-generated user-interestassociation that associates a first interest with a location and firstuser, wherein the first interest is related to the second interest(e.g., cars are related to driving), and selecting a second user if anassociation is “detected” between the second user, the location, and thesecond interest. Detection of an association may include detection ofpresence of the second user within a threshold distance of the location,detection of a reference to the location by the second user, or acombination thereof. Detection of a reference to the location mayinclude detection of a query for information about the second location.

Knowledge of associations between interests and locations may bevaluable to companies or individuals that are related to that interest,such as companies that sell products or services in a field related tothe interest, or, if the interest is a brand, to companies that own orcompete with the brand. If a location is associated with a brand and aninterest, that fact can potentially be monetized to the brand's owner orcompetitors, because the owner and competitors may find value in thefact that the brand is associated with the interest and the location.

Communication between the client device 140 and the server computer 102may be in the form of messages, e.g., HTTP request messages generatedand sent by the client application or browser 142 to a web serveraddress associated with the server computer 102. The client applicationor browser 142 may store information such as a user identifier, a maplocation, an interest, and a time specification, or a combination ofthose, in the HTTP request message. The HTTP request message alsoidentifies the message as an interest association message to beprocessed by the interest mapping logic 104. Web server logic 130receives the HTTP request and forwards it to the interest mapping logic104, which includes input logic 122 that extracts the information, e.g.the user identifier, the map location, the interest, the timespecification, or a subset thereof. The web server logic 130 sends andreceives HTTP messages according to the HTTP (Hypertext TransferProtocol) specification. The interest mapping logic 104 processes therequest, e.g., by creating objects 106 as necessary, creatingassociations 107 between the objects, storing the objects andassociations in the database 160, making suggestions based on theobjects (as described below), and generating user interface screens orimages. The interest mapping logic 104 may generate output, such as mapannotations for displaying the interests on the map(s) 110, e.g., asicons that show the interest name or symbol, e.g., a brand name orsymbol, in the location associated with the interest, or suggestionsbased upon the interest associations 107. The output may be sent to theclient device 140 by display logic 120, which formats the output into anHTTP response message and forwards the response message to the webserver logic 130, which sends the response message via the network 132to the client device 140. The client device 140 may display the outputon the client display 156.

In one example, the user may also enter the name of the interest, thelocation, and the time, e.g., by typing a brand name on the device 140or at a computer keyboard. In another example, the interest may bedetermined automatically by logic on the client device 140 or by theinterest mapping logic 104. For example, a user interest profile 109 maybe associated with the user, and the user interest profile may specify adefault interest, e.g., BMW®, which is associated with the user'spresent location when the user selects a command to associate aninterest. In another example, the user profile may be configured toindicate that the brand BMW® is to be associated with the user'slocation if the location is a road or highway.

In one example, the user identifier may be unavailable, i.e., unknown.For example, the user may decline to provide the user identifier whencreating an association 107 between a location and a interest, or therequest to create the association may be generated by a user who is notlogged in and hence has not provided a user identifier. If the useridentifier is not available, the association 107 is established betweenthe information that is available, e.g., the interest, location, andoptional time, without the user identifier.

If the user identifier is received or otherwise known, the correspondinguser 108 is included in the association 107. That is, the association107 is created between the user, the location, and the interest. If atime specifier is received, the corresponding time 114 is included inthe association 107. That is, the association is created between theuser, the location, the interest, and the time, or, if the user is notreceived, between the location, the interest, and the time.

The association 107 is represented in FIG. 1 by arrows between the boxesthat represent the users 108, target objects 112, times 114, andinterests 116. The association 107 may be stored as, for example, anentry in a database table that refers to identifiers that represent theparticular user, map location, interest, and (optional) time. In oneexample, the association 107 is stored in an interest profile 107associated with the user 108. For example, if the user corresponding toidentifier U1 is to be associated with the map location L1 and the brandB1, then an entry may be added to a database table that represents anassociation 107, where the entry includes the values U1, L1, and B1. Aninterest profile 109 may be created with a reference to thatassociation, or the interest profile 109 may itself include arepresentation of the association, e.g., the values U1, L1, and B1. Ifthe user is to be associated with the location and interest during aspecified time or times, then the entry includes U1, L1, B1, and T1,where T1 represents the specified time. Other implementations arepossible, e.g., by creating pointer or reference links in the computermemory to link the associated objects. In this example, a user objectwould include a set or list of object reference that point to anassociated map location object, an associated interest object, and,optionally, an associated time object. In another example, theassociation 107 may be represented by an association object, whichincludes object references that point to the user object, map locationobject, interest object, and optional time object for which anassociation is to be established.

The client device 140 may display information provided by the interestmapping logic 104 and received via the network 132 from the servercomputer 102. The client device 140 may execute computer program codereceived from the server computer 102, such as user interface code thatgenerates a user interface 144 for display on a client display 156,e.g., an LCD screen or the like. The interest mapping logic 104 mayprovide user interface components, e.g., HTML pages, JavaScript™components, widgets implemented in JavaScript™ or another programminglanguage by making the user interface components available to the webbrowser or client application 142 located on the client device 140. Theinterest mapping logic 104 may transmit the components of the userinterface 144 to the client 140 via the computer network 132. The userinterface 144 may be displayed on the client display 156 by the Webbrowser or client application 142 for use by a user 162, who may provideinput to the user interface 144 via an input device 158.

In one example, the user interface 144 displays maps 152, and overlaysinterest symbols 148 or other interest identifiers, such as interestnames, on the map at locations specified by map locations 146. In otherexamples, the user interface 144 displays the map locations 146 andinterest symbols 148 independently of any maps. For example, the maplocations 146 and interest symbols 148 may be displayed in a list form.

The interest mapping logic 104 may store and retrieve associations 107in a database 160 using storage/retrieval logic 126. The database maybe, for example, Oracle® or the like, and may provide persistent storageof the associations 107 and the objects 106, including users 106, targetobjects 112, interests 116, and maps 110.

The life cycle of the associations 107 may be divided into stages, whichinclude a first monetization stage, a collection stage, an aggregationand processing stage, a filtering stage, and a second monetizationstage. The first monetization stage involves initial activitiesperformed before the associations have been collected. These activitiesmay be, for example, creating and funding a contest or promotion thatencourages users or potential users to create associations 107, asdescribed in the Boston Red Sox™ example above. The collection stageincludes receiving information for creating associations 107, e.g.,receiving messages from the client device 140, or receiving messages orother input from a client computer or web browser. For example, a usermay drag a brand symbol onto a map to associate the brand with a maplocation, or may press a button on the device 140, or may enterinformation about the brand and/or location into the device 140. Inanother example, the user may place an RFID tag or similar electronictracking device on an object to create an association between theobject's location, the user, and an interest. The aggregation andprocessing stage includes adding, summing, or otherwise evaluating theassociations 107 received in the collection stage to generateinformation such as statistics or rankings of interests, locations,and/or users by the number of times each has been included in anassociation 107.

The filtering stage includes selecting entries from the associations 107that meet certain criteria. The filtering stage may identify a subset ofthe associations 107 by selecting associations that are related toparticular locations, interests, and/or users. Associations may beselected and displayed based on attention, interests, brands, and/ortags specified in a user's interest profile 109 and/or in the interestprofiles of one or more other users. Attention may be expressed as alocation and an attention level that quantifies the amount of attentionusers have given to that location, e.g., by taking photographs at thelocation, or by viewing information related to the location, or byotherwise directing attention at a location in a way that can bequantified. A user's interest profile may then specify the locations inthe real (and/or virtual0 world that have received the user's attention,and the level of attention that the user has given to each location. Theattention of multiple users may be aggregated to determine a popularityranking of locations. A user's interests may be included in the user'sinterest profile 109 as described elsewhere herein, and may includebrands that interest the user. A user's interest profile may alsoinclude tags, e.g., text strings, associated with locations, interests,and other entities. The tags may describe the locations or may providemeanings or synonyms for the locations. In one example, a map may begenerated for displaying the declared interests of user at thegeographic locations associated with the interests. The number ofdeclared interests may be large, and may be reduced by filtering outdeclared interests that have specified attention levels, interests(e.g., brands, and/or tags). For example, an interest map may begenerated to display the interests of the user in the state of Texas. Ifthe user is interested in food (e.g., because food is a specifiedinterest in the user's interest profile), then a large number ofrestaurants and food-related businesses may be displayed on the interestmap of Texas, particularly if the user has previously visited Texas andcreated interest-location associations. The number of declared intereststo be displayed on the interest map may therefore be reduced byfiltering the displayed interests. For example, a filter could bespecified with minimum and maximum values for the attention level,particular types of interests and/or a maximum number of interests, andparticular tags. Then interests that match the filters would bedisplayed on the interest map, and interests that do not math thefilters would be omitted from the map. In one example, a filter mayspecify a minimum attention level, a set of brands to include orexclude, and/or a set of tags to include or exclude, and the intereststhat meet those conditions would be displayed at their correspondinglocations on an interest map.

The subset may include, for example, associations 107 that are relatedto a particular user and a particular general location, e.g.,associations for which the user is Paris Hilton and the location is inNew York City. The subset may also be selected based on the user,interest, time, and/or location of each association 107. The subset maythen be used to generate a map of interests and locations in New YorkCity that are related to Paris Hilton, e.g., by having a user orinterest equal to “Paris Hilton”. Associations that have certain timesmay also be selected. For example, the locations and correspondinginterests in New York City related to Paris Hilton may be furtherfiltered by selecting only associations that have a time between 6:00 PMand 3:00 AM to generate a map of Paris Hilton's New York City nightlifelocations and interests. In another example, associations that have atime between 8:00 AM and 5:00 PM could be selected to generate a map ofParis Hilton's New York City during the day.

In another example, users may associate certain locations with GreyGoose™ vodka. A brand map for the Grey Goose™ brand may then begenerated by filtering the associations to select the associations thatare in a particular geographical area, e.g., Manhattan. Users may havethe Grey Goose™ vodka brand in their user profile or brand profile, andwhen such users visit a nightclub, an association may be generatedbetween Grey Goose™ vodka, the nightclub, and the user.

In another example, selecting associations 107 for a particular locationproduces a list of users and interests associated with that location. Iftwo interests are associated with the same location and/or users, thenthose two interests are likely to be related as common interests ofusers. These two interests are said to be “co-occurrences”.Co-occurrences may be selected by selecting two specific interests,e.g., BMW® automobiles and Apple®. A co-occurrence map that displayslocations associated with both interests may then be generated. If thenumber of associations 107 for a location and/or user that have one oftwo (or more) interests is relatively large (e.g., 100 or more), thenthe relation between those interests is stronger. That is, the strengthof the relation between the interests may be measured by the number ofassociations with a common location and/or user that include one of theinterests. For example, if a location is associated with both Apple® andBMW® automobiles, then a suggestion could be made that Apple® and BMW®should create advertisements featuring both brands.

FIG. 2 illustrates an interest mapping system in which server logic isdistributed across multiple server computers in accordance withembodiments of the invention. User A 202 interacts with a mobile device210, e.g., a cellular phone or portable computer, which communicateswith a mobile application server 220 and an activity plotter map servervia a network A 224. User B 204 is another user who interacts with acomputer 212, which communicates via the network A 224 similarly to themobile device 210 (although possibly using different network protocols).The mobile application server 220 forwards requests from the mobiledevice 210 and/or computer 212 to a network B 226, and the requests arefurther processed by a user-generated context server 240 foruser-generated context information such as reviews and ratings of alocation, by an interest mapping server 250 for storing and retrievinguser-object-interest associations, and a contextual server 260 forstoring general information about locations.

FIG. 3 illustrates operations in an interest mapping system inaccordance with embodiments of the invention. In an exemplary scenario,User A 302 configures a mobile device 310 to track location andactivities. An application located on the mobile device 310 sends theGPS coordinates of the mobile device 310 to the mobile applicationserver 320. The server 320 sends the coordinates to the activityplotting map server 230. The mobile server 320 queries a contextualinformation server 360 for general information on the coordinates, e.g.,the names and types of businesses near the location. Based on thecontextual information, the mobile server 320 queries an interestmapping server 350, which identifies the user's interest profile. Basedon information received from the mobile device 310, the applicationtracks the amount of time spent at the contextual geographical locationand determines if the location is contextually relevant to the user.Contextual relevancy is described in U.S. patent application Ser. No.11/966,972, which is hereby incorporated by reference herein in itsentirety. If the location is contextually relevant to the user, then theapplication will, upon the user arriving at or entering the location,push relevant information from the user's interest profile for displayon an interest map, display related information provided by other users(retrieved from the user-generated context server 340) in the sameinterest map, and allow the user to enter and/or upload user-generatedcontext information related to the location, activity, or target objectto be tracked on the interest map.

In one example, upon the user's departure from the location, theactivity plotter map server 330 registers the location as a place ofinterest for the user and includes that fact in the interest map and/orinterest profile. Upon departure, the activity plotter map server 330also prompts the user to enter user-generated context information aboutthe location or target object, about the interest, about activity at thelocation, or a combination of those. The user-generated contextinformation is then stored in the user-generated context database 241 bythe user-generated context server 340. If the user-generated contextinformation includes a interest, or the user has otherwise provided aninterest, an association between the location (or target object), theinterest, and the user is stored in the interest mapping database 351 bythe interest mapping server 350.

FIG. 4 illustrates an interface for displaying interest informationproduced by a search in accordance with embodiments of the invention. Auser interface 402, which may be displayed on a client computer ormobile device, shows a location query text box 404 in which the addressof a location has been entered. A map 406 displays a location indicator410 that indicates, e.g., displays or points to, the location on themap. A related brand info panel 408 displays brand information relatedto the location, e.g., brands that have previously been associated withthe location by users. In this example, the brand Puma® is associatedwith the location, and information about the Puma® brand is displayed inthe panel 408, including a symbol of the brand, text messages related tothe brand, and photos related to the brand. The panel 408 also includesan input component that allows users to select cartoons that theyconsider to be most like the Puma® brand. The panel user interfacecomponent 406 receives a selected cartoon, which corresponds to a targetobject, and causes an association between the cartoon object with thebrand to be created. In one example, the related brand informationdisplayed in the panel 408 is information in the user's brand profile.

FIG. 5 illustrates an interface for displaying a user's interest map inaccordance with embodiments of the invention. A map display 502 includesa brand map 506 on which locations associated with brands are displayed.The appearance, e.g., color or shading, of location indicators 504, 508,510 is based on the degree of relevancy of the brands associated withthe corresponding location to the user. Two locations 504 are associatedwith brand(s) that are closely related to the user, e.g. have a strongaffinity with the user. The close relation is indicated by the darkcolor or shading of the location indicators 504. Two other locations508, 510 are associated with brands that are more distantly related tothe user. The more distant relation is indicated by the light color orshading of the location indicators 508, 510.

FIG. 6 illustrates user interfaces for displaying interest-relatedcontent in accordance with embodiments of the invention. When a useraccesses interest information on a mobile device, the user interfaces604, 606, 608, and 610 may be displayed on the mobile device. A firstinterface 604 displays content directly related to the user's favoriteinterest(s). The second interface 606 displays content related to otherusers who are interested in the user's favorite interest(s). The thirdinterface 608 and fourth interface 610 display content that is relatedto the user's favorite interests and provided by a content provider suchas Yahoo!® Inc.

FIG. 7 illustrates user interfaces for displaying a brand map for aroute in accordance with embodiments of the invention. In one aspect, abrand map is a type of interest map that displays locations associatedwith brands, which are a type of interest. The user interface displays ageographical brand map 704. The map 704 shows that a brand, e.g., BMW®,is associated with a route 706 that starts at a first location 708 andends at a second location 710. The association may have been establishedby a user driving from point A to point B, who indicated that the pointson the path between points A and B are associated with the BMW® brand.Other users may then search for brand maps related to the BMW® brand orto the geographic location of the map, and the brand map 704 will bereturned as a search result. The relevancy of the route 706 willincrease in proportion to the number of users who associate the sameroute, or a portion thereof, with the same brand, e.g., BMW®. In oneexample, a button user interface component located on the mobile devicemay receive input from the user when the user is in a location to beassociated with the BMW® brand. Another user interface component locatedon the mobile device may also receive the name of the brand, e.g., BMW®,from the user, via a menu or text entry, for example. The user interfaceon the mobile device then sends a message to the server computer 102 tocause the brand mapping logic 104 to associate the selected brand withthe selected location and the user of the mobile device.

FIGS. 8A-8B illustrate user interfaces for establishinguser-location-interest associations in accordance with embodiments ofthe invention. The user interface shown in FIG. 8A allows a user todeclare one or more interests to be associated with a location and toattach metadata such as photographs to the association. The userinterface 802 displays the user's current location 804, which is Carmel,Calif. in this example. An interest entry component 806 allows a user todeclare an interest to be associated with the location. In this example,the user has entered “17 mile drive” as an interest that is related toCarmel, Calif. A “Take Photo” component 808 allows the user to take aphotograph, e.g., using a camera attached to the mobile device. Thephotograph will then be associated with the location Carmel, Californiaand the interest “17 mile drive”. The interface 802 also displays otherinterests of the user as graphical images with text labels in a “Youmight like” display 810.

The user interface 820 shown in FIG. 8B allows a user to associate aphotograph with a location. A photograph 822 is shown and will beassociated with the location Carmel, California and the interest “17mile drive”.

FIGS. 9A and-9B illustrate user interfaces for presenting matchinginterests in accordance with embodiments of the invention. FIG. 9A showsinterests that match the user's declared interests. The term “matching”is used herein to refer to interests that are related or similar to auser's interests. Two matching interests are not necessarily the sameinterests. For example, an interest in golf may match an interest in aparticular golf course.

In one example, the matching interests are determined by selectinginterests that other users have associated with the location, anddisplayed in a user interface 902. For example, other users may haveused the interface shown in FIG. 9A to associate Zio's Restaurant, GolfRamona, Casanova Restaurant, The Golf Institute, and Carmel Valley Ranchwith Carmel, Calif. The user interface then displays an “Offers YouMight Like” panel 904 for businesses that have made offers, and includesZio's Restaurant and Golf Ramona in the Offers panel 904. The userinterface also displays a “Businesses You Might Like” panel 906, andincludes Casanova Restaurant, The Golf Institute, and Carmel ValleyRanch in the Businesses panel 906.

In another example, the matching interests are determined by identifyinginterests that are related to the user's declared interests andselecting the related interests with the highest strength values, asdescribed above. The selected interests are then displayed in the userinterface 902. For example, Zio's Restaurant may be strongly related tothe user and location because it serves a type of food that the user hasexpressed a preference for in an interest profile, and because therestaurant is located in Carmel. Golf Ramona may be strongly related tothe user and location because the user is interested in the 17 miledrive, which is located near the Pebble Beach golf course, and aninference is made that golf and golf-related businesses are stronglyrelevant to the user and location. Zio's Restaurant and Golf Ramona aretherefore displayed in the Offers panel 904. In this example, theCasanova Restaurant, The Golf Institute, and Carmel Valley Ranch arestrongly related to the user and location through similar logical stepsbased on the user's interest profile, other locations of interest to theuser, and the user's location, and these businesses are thereforedisplayed in the Businesses panel 906.

The first technique described above, selecting interests fromassociations created by other users for the same location, may becombined with the second technique, inferring interests based onrelevance. For example, an initial set of interests may be generatedusing the first technique, and the initial set may be expanded using thesecond technique. In this example, the first technique may produce theinterests “golf” and “restaurants” because other users have associatedthe locations Carmel, Calif. and/or 17 mile drive with golf andrestaurants. The second technique may generate the interests Zio'sRestaurant, Golf Ramona, Casanova Restaurant, and The Golf Institute.

FIG. 9B shows interests that match the declared interests of people inthe user's social network. The interests of other users may be used togenerate suggested interests, particularly if the other users arerelated to the current user. In the example of FIG. 9B, the interests ofusers in the current user's social network are used to generatesuggested interests. The social network is, in one example, a network orgraph of users who know each other. In another example, the socialnetwork includes the people on the current user's Contacts List, whichmay be, for example, an online address book. The current user's contactsinclude a first person who likes the Del Monte Golf Course, and a secondperson who likes the Monterey Bay Aquarium. The first or second personmay have other interests, and the contacts may include other users wholike other interests, but the other interests are filtered out becausethey are not in or near the location specified by the current user(Carmel). Interests may also be filtered out if the interests are not ina defined set of interests, or if the interests are associated withlocations that have received little attention, or if the interests areThe interests specified by the other users may also be ordered based ona weighting factor, such as the number of people in the current user'snetwork who like the interest, or the distance between the current userand the other users in the social network. In the example of FIG. 9B,the two interests, Del Monte Golf Course and Monterey Bay Aquarium, havebeen selected for presentation to the current user, and are thereforedisplayed in a “Your Contacts Like” panel 912. As in the otherinterfaces described herein, the current user may select one of theinterests in the panel 912, e.g., by clicking on the panel, to displaymore detailed information about the interest.

The user interface 1002 of FIG. 10 displays an advertisement 1008 thatis selected based upon the user's interests and the user's location. Theuser's location, Carmel Calif., is specified in the location inputcomponent 1004. The user's interest in the 17 Mile Drive through theCarmel region is specified in the input component 1006. An advertisementthat is relevant to the user, the user's location, and the user'sinterests may therefore be selected using techniques similar to thosedescribed above for generating suggested interests. An advertisement maybe represented as an interest in the product or service that is thesubject of the advertisement, and the advertisement may be stored in adatabase of interests in the same way that other interests are stored.The techniques described above, i.e., searching other user's interests,and searching for related interests, may therefore be used to findrelevant advertisements. In the example of FIG. 10, an advertisement forthe PING golf equipment company is represented as an interest in golf.In one example, the user interface 1002 selected the PING advertisementto be displayed because of the user's interest n the 17 Mile Drive,which is located near the Pebble Beach golf course. In another example,there is a store that sells PING golf equipment in Carmel, and theuser's interest profile includes golf, so the user interface 1002selected the PING advertisement 1008 because of the strong relationbetween the user's location and PING's location, as well as the strongrelation between the user's interest in golf and PING's golf products.In one example, the user interfaces described above may be displayed ona mobile device such as a cellular phone, or on a client computer.

While the invention has been described in terms of particularembodiments and illustrative figures, those of ordinary skill in the artwill recognize that the invention is not limited to the embodiments orfigures described. Those skilled in the art will recognize that theoperations of the various embodiments may be implemented using hardware,software, firmware, or combinations thereof, as appropriate. Forexample, some processes can be carried out using processors or otherdigital circuitry under the control of software, firmware, or hard-wiredlogic. (The term “logic” herein refers to fixed hardware, programmablelogic and/or an appropriate combination thereof, as would be recognizedby one skilled in the art to carry out the recited functions.) Softwareand firmware can be stored on computer-readable media. Some otherprocesses can be implemented using analog circuitry, as is well known toone of ordinary skill in the art. Additionally, memory or other storage,as well as communication components, may be employed in embodiments ofthe invention.

FIG. 11 illustrates a typical computing system 1100 that may be employedto implement processing functionality in embodiments of the invention.Computing systems of this type may be used in clients and servers, forexample. Those skilled in the relevant art will also recognize how toimplement the invention using other computer systems or architectures.Computing system 1100 may represent, for example, a desktop, laptop ornotebook computer, hand-held computing device (PDA, cell phone, palmtop,etc.), mainframe, server, client, or any other type of special orgeneral purpose computing device as may be desirable or appropriate fora given application or environment. Computing system 1100 can includeone or more processors, such as a processor 1104. Processor 1104 can beimplemented using a general or special purpose processing engine suchas, for example, a microprocessor, microcontroller or other controllogic. In this example, processor 1104 is connected to a bus 1102 orother communication medium.

Computing system 1100 can also include a main memory 1108, such asrandom access memory (RAM) or other dynamic memory, for storinginformation and instructions to be executed by processor 1104. Mainmemory 1108 also may be used for storing temporary variables or otherintermediate information during execution of instructions to be executedby processor 1104. Computing system 1100 may likewise include a readonly memory (“ROM”) or other static storage device coupled to bus 1102for storing static information and instructions for processor 1104.

The computing system 1100 may also include information storage system1110, which may include, for example, a media drive 1112 and a removablestorage interface 1120. The media drive 1112 may include a drive orother mechanism to support fixed or removable storage media, such as ahard disk drive, a floppy disk drive, a magnetic tape drive, an opticaldisk drive, a CD or DVD drive (R or RW), or other removable or fixedmedia drive. Storage media 1118, may include, for example, a hard disk,floppy disk, magnetic tape, optical disk, CD or DVD, or other fixed orremovable medium that is read by and written to by media drive 1114. Asthese examples illustrate, the storage media 1118 may include acomputer-readable storage medium having stored therein particularcomputer software or data.

In alternative embodiments, information storage system 1110 may includeother similar components for allowing computer programs or otherinstructions or data to be loaded into computing system 1100. Suchcomponents may include, for example, a removable storage unit 1122 andan interface 1120, such as a program cartridge and cartridge interface,a removable memory (for example, a flash memory or other removablememory module) and memory slot, and other removable storage units 1122and interfaces 1120 that allow software and data to be transferred fromthe removable storage unit 1118 to computing system 1100.

Computing system 1100 can also include a communications interface 1124.Communications interface 1124 can be used to allow software and data tobe transferred between computing system 1100 and external devices.Examples of communications interface 1124 can include a modem, a networkinterface (such as an Ethernet or other NIC card), a communications port(such as for example, a USB port), a PCMCIA slot and card, etc. Softwareand data transferred via communications interface 1124 are in the formof signals which can be electronic, electromagnetic, optical or othersignals capable of being received by communications interface 1124.These signals are provided to communications interface 1124 via achannel 1128. This channel 1128 may carry signals and may be implementedusing a wireless medium, wire or cable, fiber optics, or othercommunications medium. Some examples of a channel include a phone line,a cellular phone link, an RF link, a network interface, a local or widearea network, and other communications channels.

In this document, the terms “computer program product,”“computer-readable medium” and the like may be used generally to referto media such as, for example, memory 1108, storage device 1118, orstorage unit 1122. These and other forms of computer-readable media maybe involved in storing one or more instructions for use by processor1104, to cause the processor to perform specified operations. Suchinstructions, generally referred to as “computer program code” (whichmay be grouped in the form of computer programs or other groupings),when executed, enable the computing system 1100 to perform features orfunctions of embodiments of the present invention. Note that the codemay directly cause the processor to perform specified operations, becompiled to do so, and/or be combined with other software, hardware,and/or firmware elements (e.g., libraries for performing standardfunctions) to do so.

In an embodiment where the elements are implemented using software, thesoftware may be stored in a computer-readable medium and loaded intocomputing system 1100 using, for example, removable storage drive 1114,drive 1112 or communications interface 1124. The control logic (in thisexample, software instructions or computer program code), when executedby the processor 1104, causes the processor 1104 to perform thefunctions of the invention as described herein.

It will be appreciated that, for clarity purposes, the above descriptionhas described embodiments of the invention with reference to differentfunctional units and processors. However, it will be apparent that anysuitable distribution of functionality between different functionalunits, processors or domains may be used without detracting from theinvention. For example, functionality illustrated to be performed byseparate processors or controllers may be performed by the sameprocessor or controller. Hence, references to specific functional unitsare only to be seen as references to suitable means for providing thedescribed functionality, rather than indicative of a strict logical orphysical structure or organization.

Although the present invention has been described in connection withsome embodiments, it is not intended to be limited to the specific formset forth herein. Rather, the scope of the present invention is limitedonly by the claims. Additionally, although a feature may appear to bedescribed in connection with particular embodiments, one skilled in theart would recognize that various features of the described embodimentsmay be combined in accordance with the invention.

Furthermore, although individually listed, a plurality of means,elements or method steps may be implemented by, for example, a singleunit or processor. Additionally, although individual features may beincluded in different claims, these may possibly be advantageouslycombined, and the inclusion in different claims does not imply that acombination of features is not feasible and/or advantageous. Also, theinclusion of a feature in one category of claims does not imply alimitation to this category, but rather the feature may be equallyapplicable to other claim categories, as appropriate.

Moreover, it will be appreciated that various modifications andalterations may be made by those skilled in the art without departingfrom the spirit and scope of the invention. The invention is not to belimited by the foregoing illustrative details, but is to be definedaccording to the claims.

Although only certain exemplary embodiments have been described indetail above, those skilled in the art will readily appreciate that manymodifications are possible in the exemplary embodiments withoutmaterially departing from the novel teachings and advantages of thisinvention. Accordingly, all such modifications are intended to beincluded within the scope of this invention.

What is claimed is:
 1. A method comprising: receiving, at a computingdevice, information related to a plurality of users, said receivedinformation comprising data indicating an association between each user,a declared interest by each user and a target object of each user;compiling, via the computing device, a social network graph between auser and each of the other users within said plurality based on each oftheir declared interests; receiving, at the computing device,geographical position information related to the user, the geographicposition information indicating at least one real-world locationassociated with said user; generating, via the computing device, a userinterface (UI) to be transmitted to said user, said UI comprising mapinformation related to the received geographical position information ofthe user; communicating, via the computing device, said UI to a deviceof said user, said communication causing the UI to be displayed on saiduser device, and further causing the device to transmit updatedgeographical position information back to the computing device;monitoring, via the computing device, the received updated geographicalposition information of the user; determining, via the computing device,based on said social network graph, strengths of relationships betweeneach of the users of the plurality; determining, via the computingdevice, based on said monitoring and said determined relationshipstrengths, when said updated geographical position informationcorresponds to at least said target object of the user identified withinsaid received information; and communicating, via the computing devicebased on said determination, updated map information comprising digitalcontent corresponding to the declared interest of the user.
 2. Themethod of claim 1, wherein said target object is associated with aphysical location.
 3. The method of claim 1, wherein said declaredinterest comprises information indicating that said user is interestedin said target object.
 4. The method of claim 1, wherein said declaredinterest is based on analysis of a user profile of said user, whereinsaid analyzed user profile comprises data representing activity of theuser that is utilized to identify objects of interest of said user. 5.The method of claim 1, wherein said geographical position information isdetermined by a Global Positioning System (GPS).
 6. The method of claim1, wherein said geographical position information comprises a routebetween at least two locations.
 7. The method of claim 2, wherein saiddetermination is based on said updated geographical position informationbeing within a predetermined threshold distance to said target object.8. A non-transitory computer-readable storage medium tangibly encodedwith computer-executable instructions, that when executed by a computingdevice, perform a method comprising: receiving, at the computing device,information related to a plurality of users, said received informationcomprising data indicating an association between each user, a declaredinterest by each user and a target object of each user; compiling, viathe computing device, a social network graph between a user and each ofthe other users within said plurality based on each of their declaredinterests; receiving, at the computing device, geographical positioninformation related to the user, the geographic position informationindicating at least one real-world location associated with said user;generating, via the computing device, a user interface (UI) to betransmitted to said user, said UI comprising map information related tothe received geographical position information of the user;communicating, via the computing device, said UI to a device of saiduser, said communication causing the UI to be displayed on said userdevice, and further causing the device to transmit updated geographicalposition information back to the computing device; monitoring, via thecomputing device, the received updated geographical position informationof the user; determining, via the computing device, based on said socialnetwork graph, strengths of relationships between each of the users ofthe plurality; determining, via the computing device, based on saidmonitoring and said determined relationship strengths, when said updatedgeographical position information corresponds to at least said targetobject of the user identified within said received information; andcommunicating, via the computing device based on said determination,updated map information comprising digital content corresponding to thedeclared interest.
 9. The non-transitory computer-readable storagemedium of claim 8, wherein said target object is associated with aphysical location, wherein said determination is based on said updatedgeographical position information being within a predetermined thresholddistance to said target object.
 10. The non-transitory computer-readablestorage medium of claim 8, wherein said declared interest comprisesinformation indicating that said user is interested in said targetobject.
 11. The non-transitory computer-readable storage medium of claim8, wherein said declared interest is based on analysis of a user profileof said user, wherein said analyzed user profile comprises datarepresenting activity of the user that is utilized to identify objectsof interest of said user.
 12. The non-transitory computer-readablestorage medium of claim 8, wherein said geographical positioninformation is determined by a Global Positioning System (GPS).
 13. Thenon-transitory computer-readable storage medium of claim 8, wherein saidgeographical position information comprises a route between at least twolocations.
 14. A computing device comprising: a processor; anon-transitory computer-readable storage medium for tangibly storingthereon program logic for execution by the processor, the program logiccomprising: logic executed by the processor for receiving, at thecomputing device, information related to a plurality of users, saidreceived information comprising data indicating an association betweeneach user, a declared interest by each user and a target object of eachuser; logic executed by the processor for compiling, via the computingdevice, a social network graph between a user and each of the otherusers within said plurality based on each of their declared interests;logic executed by the processor for receiving, at the computing device,geographical position information related to the user, the geographicposition information indicating at least one real-world locationassociated with said user; logic executed by the processor forgenerating, via the computing device, a user interface (UI) to betransmitted to said user, said UI comprising map information related tothe received geographical position information of the user; logicexecuted by the processor for communicating, via the computing device,said UI to a device of said user, said communication causing the UI tobe displayed on said user device, and further causing the device totransmit updated geographical position information back to the computingdevice; logic executed by the processor for monitoring, via thecomputing device, the received updated geographical position informationof the user; logic executed by the processor for determining, via thecomputing device, based on said social network graph, strengths ofrelationships between each of the users of the plurality; logic executedby the processor for determining, via the computing device based on saidmonitoring and said determined relationship strengths, when said updatedgeographical position information corresponds to at least said targetobject of the user identified within said received information; andlogic executed by the processor for communicating, via the computingdevice based on said determination, updated map information comprisingdigital content corresponding to the declared interest.